layui.use(['form', 'layedit', 'laydate', 'jquery'], function(){
  var form = layui.form
  ,layer = layui.layer
  ,layedit = layui.layedit
  ,laydate = layui.laydate
  ,$ = layui.$;

  //自定义验证规则
  form.verify({
    pass: [
      /^[\S]{6,12}$/
      ,'密码必须6到12位，且不能出现空格'
    ]
    ,re_pass:function (value,item){
        if (value != $('input[name="password"]').val()){
            return '两次密码不一致'
        }
      }
    ,verify:[
      /^[\d]{6}$/
      ,'验证码必须6位数字'
    ]
  });

  //监听提交
  form.on('submit(register)', function(data){
    // layer.alert(JSON.stringify(data.field), {
    //   title: '最终的提交信息'
    // })
    $.post('/user/register/', data.field, function(data){
        if(data.code == 4001 || data.code == 4003){
            layer.msg(data.msg, {icon: 5});
            return false;
        }
        if(data.code == 0){
            location.href = '/static/index.html';
        }
    })
    return false;
  });

    let expiry_time = 60;
    let time_count = expiry_time;
    let flag = true; // true,可以点击，false，不可以点击
    let local_time_count = localStorage.getItem('time_count');
    // 发送验证码后页面状态改变部分
    function send_mail_style(){
        $('#send_mail').addClass('layui-btn-disabled'); // 按钮禁用，样式
        flag = false;

       // 实现倒计时功能
      let timeOut = function (){
          $('#send_mail').text(time_count + '秒后重试');

          if(time_count == 0){ // 复原
              clearInterval(setTime);
              flag = true;
              $('#send_mail').removeClass('layui-btn-disabled');
              $('#send_mail').text('发送验证码');
              time_count = expiry_time; // 时间重置
              localStorage.removeItem('time_count');
              return false; // 结束代码
          }
          time_count--;
          localStorage.setItem('time_count', time_count); // 无中生有，有则改之
      }
      timeOut();
      setTime = setInterval(timeOut, 1000); //定时器
    }

    if(local_time_count){ // 如果有值，禁用发送验证码
        time_count = local_time_count; // 防止页面刷新变量重置
        send_mail_style();
    }

  // 发送验证码
  $('#send_mail').click(function (){
      let email = $('input[name="email"]').val();
      // 1.是否有参数
      if(!email){
          layer.msg('请输入邮箱', {icon: 5});
          return false;
      }
      // 2.参数格式是否正确
      let reg = /^([A-Za-z0-9])(\w|\-)+@[A-Za-z0-9]+\.([A-Za-z]{2,5})$/
      if(!reg.test(email)){
          layer.msg('邮箱格式不正确', {icon: 5});
          return false;
      }
      // $.post('/user/email/verification/', {email:email})
      // $('#send_mail').addClass('layui-btn-disabled'); // 按钮禁用，样式

      // 实现功能禁用
      if(!flag){
          layer.msg('请稍后重试', {icon: 5});
          return false;
      }
      $.post('/user/email/verification/', {email:email}, function (data){
          console.log(data);
          if (data.code == 4002){
              layer.msg('请稍后重试', {icon:5});
              return false;
          }
      })
      send_mail_style();
  });
});